# -*- coding: utf-8 -*-

from django.db import models
from django.contrib.auth.models import User
from venda.models import Pedido
from cliente.models import Cliente

class Compra_parcelada(models.Model):
    class Meta:
        verbose_name = 'Compra parcelada'
        verbose_name_plural = 'Compras parceladas'
    
    venda = models.ForeignKey(Pedido)
    cliente = models.ForeignKey(Cliente)
    parcelas = models.IntegerField(u'Número de parcelas')
    vencimento = models.IntegerField(u'Dia para pagamento')
    valor_total = models.DecimalField(u'Valor total', max_digits = 10, decimal_places = 2)
    concluido = models.DateField(u'Data do último pagamento', blank = True, null = True)
    
    def __unicode__(self):
        if self.concluido == None:
            return (unicode(self.cliente) + u'. Nº parcelas: ' + unicode(self.parcelas) + u'. Em aberto').upper()
        else:
            return (unicode(self.cliente) + u'. Nº parcelas: ' + unicode(self.parcelas) + u'. Concluído: ' + unicode(self.concluido)).upper()
    
class Pagamento_receber(models.Model):
    class Meta:
        verbose_name = 'Pagamento a receber'
        verbose_name_plural = 'Pagamentos a receber'
        
        permissions = (
            ("view_pagamento_receber", "Pode visualizar pagamentos a receber"),
        )
    
    compra_parcelada = models.ForeignKey(Compra_parcelada)
    parcela = models.IntegerField(u'Parcela Nº', default = 1)
    valor = models.DecimalField(u'Valor', max_digits = 10, decimal_places = 2)
    vencimento = models.DateField(u'Data de vencimento')
    pago_em = models.DateField(u'Data do pagamento', blank = True, null = True)
    
    def __unicode__(self):
        if self.pago_em == None:
            return (unicode(self.compra_parcelada) + '. Parcela ' + str(self.parcela) + ' - Valor: R$ ' + unicode(self.valor) + ' - Vencimento: ' + unicode(self.vencimento) + '. Em aberto').upper()
        else:
            return (unicode(self.compra_parcelada) + '. Parcela ' + str(self.parcela) + ' - Valor: R$ ' + unicode(self.valor) + ' - Vencimento: ' + unicode(self.vencimento) + '. Pago em: ' + unicode(self.pago_em)).upper()

class Cheque(models.Model):
    venda = models.ForeignKey(Pedido)
    cliente = models.ForeignKey(Cliente)
    vencimento = models.DateField(u'Data do recebimento', blank = True, null = True)
    valor_total = models.DecimalField(u'Valor total', max_digits = 10, decimal_places = 2)
    concluido = models.DateField(u'Recebido em', blank = True, null = True)
    
    def __unicode__(self):
        if self.concluido == None:
            return (unicode(self.cliente) + u'. Em aberto').upper()
        else:
            return (unicode(self.cliente) + u'. Concluído: ' + unicode(self.concluido)).upper()
